Certain 32 bit operating systems, such as Microsoft Windows 7, are unable to access memory addressed above 4 gigabytes (GB). This limitation of certain operating systems stems from the inability of a 32 digit binary number from representing more than 4 GB worth of memory addresses. While one might expect then that the maximum available memory of a 32 bit operating system, such as Microsoft Windows 7, is 4 GB, in practice it is much lower. In fact, the maximum available memory available for Microsoft Windows 7 is typically around 3¼ GB.
The reason why a 32 bit operating system may be unable to make use of more than 3¼ GB of memory (even if more than 4 GB of memory is physically present within the hardware of the computer) is that a portion of the 4 GB addressable by a 32 bit operating system is reserved and unavailable to the operating system. For example, on a typical PC, about 500-700 megabytes (MB) of memory is generally allocated for the so-called PCI memory hole, which is a term used to describe the area of memory set aside for communication with or involving hardware components, such as PCI cards, resident on the computer.
Most personal computers available for purchase today contain more than 4 GB of memory. However, if a 32 bit version of Microsoft Windows 7 is run on a PC having more than 4 GB of memory, as explained above, the 32 bit version of Microsoft Windows 7 will be unable to use more than about 3¼ GB of memory. Consequently, certain 32 bit operating system, such as 32 bit versions of Microsoft Windows 7, may not be able to use all the available memory when running on modern computers.
The Intel hardware architecture supports a feature known as Physical Address Extension (PAE) which enables 32 bit x86 processors to access memory addresses above 4 GB, and introduces a security feature called “eXcute Disable” (XD). Even when the OS has configured the CPU to run in PAE mode, some hardware drivers may still be unable to handle addresses above 4 GB. As a result, Microsoft Corporation choose not to use memory addresses above 4 GB even when running in PAE mode on its 32 bit desktop operating systems.